package com.kerrykidz.system.service;

import java.util.List;

import com.kerrykidz.system.dao.model.SecRole2usrEntity;
import com.kerrykidz.system.dao.model.SecUsrEntity;
import com.kerrykidz.system.dao.model.WfmAuthorizeEntity;
import com.kerrykidz.workflow.dao.model.ActivitiEntity;
import com.rdp.framework.exception.RDPException;

public interface IWfmAuthorizeService {

	/**
	 * 审批转授权 查询
	 * @param wfmAuthorize
	 * @return
	 * @throws RDPException
	 */
	public WfmAuthorizeEntity findWfmAuthorize(
			WfmAuthorizeEntity wfmAuthorize) throws RDPException;
	
	/**
	 * 获取委托人列表
	 * @return
	 * @throws RDPException
	 */
	public List<WfmAuthorizeEntity> findFromUsers(String fkBranId)throws RDPException;
	
	/**
	 * 根据临时授权编号， 更新delFlage，取消委托
	 * @param wfmAuthorize
	 * @throws RDPException
	 */
	public void cancelWfmAuthorize(String pkAuthId, String modiBy)throws RDPException;
	
	 /**
	 * 根据用户角色获取制定门店用户的详细信息
	 * @param entity
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月17日
	 */
	 public  List<SecUsrEntity> selectUsesJobInfoByRole(SecUsrEntity entity)throws RDPException; 
	 
	 /**
	 * 获取所有的流程定义
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月19日
	 */
	 public List<ActivitiEntity> queryProcDef() throws RDPException;
	 
	 /**
	 * 根据用户id获取用户角色 
	 * @param userId
	 * @return
	 * @throws RDPException
	 */
	public List<SecRole2usrEntity> findUserRoleById(String fkUsrId) throws RDPException;
	
	/**
	 * 新增新的审批转授权
	 * @param wfmAuthorize
	 * @throws RDPException
	 */
	public void insertWfmAuthorize(WfmAuthorizeEntity wfmAuthorize)
			throws RDPException;
}
